Local Applications in Commotion

What is a local application?

Applications are a great way to provide tools that address community-specific needs. An application is a program or piece of software designed and written to fulfill a particular purpose, such as a word processor, image editor, navigation system, or messaging application.

Applications can come in many forms. Sometimes applications are installed on a device, such as a smartphone app or a desktop program. Examples of this would be a calendar app on your Android phone, or a solitaire card game on your computer. Many times, however, applications are accessed in a web browser instead of being installed. An example of this would be Etherpad, a collaborative document editor (https://pad.riseup.net/). Local networks, like Commotion, make it possible to provide applications that are available only when you are connected to the local network.

Network applications

Many of the applications we use today are , which get and send information on behalf of the application to another computer on a network. For example, if you check your email using a web browser, that application is a network application since it retrieves information about the emails in your inbox from another computer. That computer is called a server, and is responsible for “serving” information to your personal device or computer. A web server is simply a server that provides information needed to display a website, while an email server is a server that sends and receives email information. A network application that requests information from a server is also referred to as a .

Application server and client model

Network applications communicate with a server, but that server does not have to be physically connected to the Internet. Sometimes the server is just connected to a local network, such as a mesh network. Running applications on a local server within your networkallows you and your community to have tools and services just for you. Many applications do not need access to the Internet to work, which means that the applications running on a local server would be useable whether your network has Internet access or not!

Using an application on a local server

Using an application on the internet

Traffic for internet applications can traverse unnecessarily large geographic distances

In the same way that the mesh network allows multiple people to share network resources, running a local application server makes it possible to share information without going out to the InternetApplicationsdigital signatures cryptographic keys have special mathematical properties, the signatures they generate can actually guarantee that the message the signature is attached to was created by no one other than the holder of those cryptographic keys. This is a very useful way to prove that messages sent by a node were not forged or tampered with in transit.

Every application announcement sent on the mesh actually has a digital signature attached to it, which allows users to make sure the application announcement has authentic information provided by the administrator of that application.

Users can verify the authenticity of application announcements by taking note of the unique pattern next to each announcement. These patterns are a visual representation of the unique cryptographic keys used to sign the application announcement. If the next time you visit the application portal and see that your favorite application has a different patterns, you can be sure that either the administrator of the application changed its cryptographic keys, or someone else is trying to impersonate the application. </div>

Welcome Page

You can also access the apps portal through the welcome page, if it is turned on. When you connect to the access point of a node on the mesh network which has the welcome page turned on, you can open your web browser and go to any non-HTTPS website (for example ). You will then be automatically redirected to the splash page:

Commotion Welcome Page

By clicking on the ** icon, you will be redirected to the apps portal.

Adding applications to your network

There are two steps to put a local application on your network. The first is installing that application on a computer, which will be connected somewhere on the network. The second step is to add the information for the local application to the Commotion node it is connected to. This announces the presence of that application to the rest of the network, and allows users to find it.

Installing and configuring local applications

The process for installing and configuring a local application will be different for each application. Check the documentation for instructions for the apps you want to set up.

It is advisable to use a dedicated computer or server for hosting the application(s), and connecting that computer to the mesh network as a client, either via Ethernet or a nearby nodes 10.x.x.x IP address and any URLs for the applications, as you will need them to announce your apps to the rest of the network.

Announcing local applications to the network

Once you have an application server setup and want to let the rest of the network start using it, youIP Address or URL of Servicell need to enter the IP address or URL where others on the mesh network can reach the application. Make sure this IP address/URL is reachable from other nodes!

  1. Optionally, you can check one or more categories describing your app.
  2. You can pick from one of the default application icons, or enter a URL for a custom icon to use (again, make sure the URL is reachable from other nodes on the mesh).
  3. Finally, click **.

Adding a local application

Adding a local application

The application is now registered with the local nodebanneds available.

You can also check out what applications other communities have used on their Commotion networks: